package com.xhwl.centiotdata.handler.eesd;

import com.alibaba.fastjson.JSONObject;
import com.xhwl.centiotdata.pojo.dto.eesd.EesdConfigDTO;
import com.xhwl.common.dto.cent.eesd.RechargeRecordDTO;
import com.xhwl.common.pojo.ResultJson;
import com.xhwl.common.pojo.cent.device.DeviceProjSupplierCategory;
import org.springframework.beans.factory.InitializingBean;

/**
 * @Author： lianghz
 * @Description：
 * @Date 2021/09/06/ 11:22
 */
public abstract class EesdHandler implements InitializingBean {

    public void pullRecord(EesdConfigDTO eesdConfigDTO) {
        throw new UnsupportedOperationException();
    }

    public void pullEnvData(EesdConfigDTO eesdConfigDTO) {
        throw new UnsupportedOperationException();
    }

    public void pullDevice(EesdConfigDTO eesdConfigDTO) {
        throw new UnsupportedOperationException();
    }

    public void pullEnvTenMinusData(EesdConfigDTO config) {
        throw new UnsupportedOperationException();
    }

    public void pullEnvData(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }


    public void pullEnvHourData(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pushEnvData(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pushEnvToDeviceData(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public <T> void pushIotDAReceiveData(T t) {
        throw new UnsupportedOperationException();
    }

    ;

    public void pullPhotovoltaics(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pullPhotovoltaicsHour(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pullCharge(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void statisticsCharge(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public JSONObject callChargeOrder(JSONObject dto) {
        throw new UnsupportedOperationException();
    }

    public JSONObject queryToken(JSONObject dto) {
        throw new UnsupportedOperationException();
    }

    public void pullIotNorthData(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pullIotNorthEnvData(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pullIotNorthYDZJDevices(DeviceProjSupplierCategory config){
        throw new UnsupportedOperationException();
    }

    public void pullIotNorthDevices(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pullIotNorthDeviceStatus(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void iotNorthStatistics(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    public void pullIotNorthDevicesByService(DeviceProjSupplierCategory config) {
        throw new UnsupportedOperationException();
    }

    /**
     * 科德根据水电表id进行水电费充值
     */
    public ResultJson rechargeElectricityAndWater(EesdConfigDTO configDTO, RechargeRecordDTO dto) {
        throw new UnsupportedOperationException();
    }

    /**
     * 拉取科德电缴费记录
     */
    public void pullKeDeElectricityPaymentData(DeviceProjSupplierCategory config, Integer intervalDay, String deviceNo) {
        throw new UnsupportedOperationException();
    }

    /**
     * 拉取科德水缴费记录
     */
    public void pullKeDeWaterPaymentData(DeviceProjSupplierCategory config, Integer intervalDay, String deviceNo) {
        throw new UnsupportedOperationException();
    }

    /**
     * 控制电表通断闸
     */
    public ResultJson controlElectricityMeter(DeviceProjSupplierCategory config, String deviceNo, Integer cutoffState) {
        throw new UnsupportedOperationException();
    }

    /**
     * 小程序欠费消息推送
     */
    public void ownAlarmPush(DeviceProjSupplierCategory config, JSONObject params) {
        throw new UnsupportedOperationException();
    }

}
